剩下兩天就要結束了(撒花),從開始到現在介紹了很多元件(MediaSession、MediaController、MediaBrowser、MediaBrowserService ......等),通通一起看可能會覺得頭有點昏XD,先來看一下在 Google I/O 2016 有介紹播放 media 實作的最佳方法,看到最後的整理,覺得真複雜啊,但實際上就是有這麼多狀態和行為要處理,都要自己來串接。
在 uamp 專案內使用 ExoPlayer 簡化了上面的 AudioFocus 和 BECOMING_NOISY 行為的處理,只有設定一個 true 的參數就好,Notification 也是設定一些必要資料就可以,不用完整的建構整個 Notification,有 MediaSessionConnector 串接 MediaSession 和 ExoPlayer,也幫助了開發者少寫了很多 code,可以專注在處理商業邏輯上。
不過基本的原理還是要有所理解,才能知道現在的一些參數或是元件是解決了什麼問題,在使用的時候就能抱持著感謝的心 XD
來整理一下這個專案的循序圖(疑),其實不是,因為對循序圖不太熟XD,就照著建立和互叫順序,畫了一個圖整理開啟 App 和點擊歌曲,元件的建立流程,和呼叫的順序,希望可以幫助大家理解,最後就用這張圖來總結整個鐵人比賽的旅程吧! 明天就來寫個感想 XD